package com.yunxi.otd.pojo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 月度需求计划VO
 * </p>
 *
 * @author XUQI
 * @since 2019-05-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="MonthPlan对象", description="月度需求计划VO")
public class MonthPlanVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "M1-M3需求计划ID",hidden = true)
    private String monthPlanId;

    @ApiModelProperty(value = "M1-M3需求计划单号")
    private String monthPlanCode;

    @ApiModelProperty(value = "M1需求月份")
    private String m1YearMonth;

    @ApiModelProperty(value = "制作年")
    private String year;

    @ApiModelProperty(value = "制作月")
    private String month;

    @ApiModelProperty(value = "状态：新建、提交、驳回、审核通过、作废")
    private String state;

    @ApiModelProperty(value = "制作版本号")
    private Integer planVersion = 0;

    @JsonDeserialize(using = DateJsonDeserializer.class)
    @ApiModelProperty(value = "发布时间")
    private Date releaseTime;

    @ApiModelProperty(value = "M1月总台数")
    private Integer m1SumNum;

    @ApiModelProperty(value = "M2月总台数")
    private Integer m2SumNum;

    @ApiModelProperty(value = "M3月总台数")
    private Integer m3SumNum;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @JsonDeserialize(using = DateJsonDeserializer.class)
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "最后修改人")
    private String updateBy;

    @JsonDeserialize(using = DateJsonDeserializer.class)
    @ApiModelProperty(value = "最后修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "版本号")
    private Integer version;

    @ApiModelProperty(value = "接口传送标识")
    private Integer isSend;

    @ApiModelProperty(value = "是否删除")
    private Integer isDel;

//    @ApiModelProperty
//    private List<MonthPlanDetailVO> monthPlanDetailVO;

}
